

#ifndef GISMAPGATEWAYAO_STRUCT_H
#define GISMAPGATEWAYAO_STRUCT_H

#include <stdint.h>
#include <string>
#include <iostream>
#include "libc2c/byte_stream.h"
#include "app_platform/intf_service_object.h"
#include "erp/gis/po/coordinatespo_gis.h"	
#include <map>	
#include <vector>	
#include "erp/gis/po/coordinatesquerypo_gis.h"	

namespace erp
{
namespace gis
{
namespace ao
{

	const uint32_t GISMAPGATEWAYAO_GETALIYUNCOORDINATES_REQ_CMD_ID = 0xc0541001; /// 请求命令号
	const uint32_t GISMAPGATEWAYAO_GETALIYUNCOORDINATES_RESP_CMD_ID = 0xc0548001; /// 回应命令号
	

	const uint32_t GISMAPGATEWAYAO_GETBAIDUCOORDINATES_REQ_CMD_ID = 0xc0521001; /// 请求命令号
	const uint32_t GISMAPGATEWAYAO_GETBAIDUCOORDINATES_RESP_CMD_ID = 0xc0528001; /// 回应命令号
	

	const uint32_t GISMAPGATEWAYAO_GETGAODECOORDINATES_REQ_CMD_ID = 0xc0551001; /// 请求命令号
	const uint32_t GISMAPGATEWAYAO_GETGAODECOORDINATES_RESP_CMD_ID = 0xc0558001; /// 回应命令号
	

	const uint32_t GISMAPGATEWAYAO_GETGOOGLECOORDINATES_REQ_CMD_ID = 0xc0531001; /// 请求命令号
	const uint32_t GISMAPGATEWAYAO_GETGOOGLECOORDINATES_RESP_CMD_ID = 0xc0538001; /// 回应命令号
	

	const uint32_t GISMAPGATEWAYAO_GETSOSO2COORDINATES_REQ_CMD_ID = 0xc0511001; /// 请求命令号
	const uint32_t GISMAPGATEWAYAO_GETSOSO2COORDINATES_RESP_CMD_ID = 0xc0518001; /// 回应命令号
	

	const uint32_t GISMAPGATEWAYAO_GETSOSOCOORDINATES_REQ_CMD_ID = 0xc0251001; /// 请求命令号
	const uint32_t GISMAPGATEWAYAO_GETSOSOCOORDINATES_RESP_CMD_ID = 0xc0258001; /// 回应命令号
	


const uint16_t GISMAPGATEWAYAO_MAX_PROTOCAL_VERSION = 2; //>平台支持的最大协议版本号


///////////////////////////// STRUCTS /////////////////////////////////////////////////
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetAliyunCoordinatesReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		erp::gis::po::CCoordinatesQueryPo coordinatesQueryPo;	
		std::string inReserve;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETALIYUNCOORDINATES_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > GISMAPGATEWAYAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			coordinatesQueryPo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetAliyunCoordinatesResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETALIYUNCOORDINATES_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & coordinatesPo;
			bs & errMsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetBaiduCoordinatesReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		erp::gis::po::CCoordinatesQueryPo coordinatesQueryPo;	
		std::string inReserve;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETBAIDUCOORDINATES_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > GISMAPGATEWAYAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			coordinatesQueryPo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetBaiduCoordinatesResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETBAIDUCOORDINATES_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & coordinatesPo;
			bs & errMsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetGaodeCoordinatesReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		erp::gis::po::CCoordinatesQueryPo coordinatesQueryPo;	
		std::string inReserve;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETGAODECOORDINATES_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > GISMAPGATEWAYAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			coordinatesQueryPo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetGaodeCoordinatesResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETGAODECOORDINATES_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & coordinatesPo;
			bs & errMsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetGoogleCoordinatesReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		erp::gis::po::CCoordinatesQueryPo coordinatesQueryPo;	
		std::string inReserve;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETGOOGLECOORDINATES_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > GISMAPGATEWAYAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			coordinatesQueryPo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetGoogleCoordinatesResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETGOOGLECOORDINATES_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & coordinatesPo;
			bs & errMsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetSoso2CoordinatesReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		erp::gis::po::CCoordinatesQueryPo coordinatesQueryPo;	
		std::string inReserve;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETSOSO2COORDINATES_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > GISMAPGATEWAYAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			coordinatesQueryPo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetSoso2CoordinatesResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETSOSO2COORDINATES_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & coordinatesPo;
			bs & errMsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetSosoCoordinatesReq : public IServiceObject, public ISerializableXML
	{
		std::string machineKey;
		std::string source;
		uint32_t sceneId;
		erp::gis::po::CCoordinatesQueryPo coordinatesQueryPo;	
		std::string inReserve;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
	
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETSOSOCOORDINATES_REQ_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
			//检查协议的版本号
		    //if(bs.getVersion() > GISMAPGATEWAYAO_MAX_PROTOCAL_VERSION)
		    //    return false;
			bs & machineKey;
			bs & source;
			bs & sceneId;
			coordinatesQueryPo.Serialize(bs);
			bs & inReserve;
		    return bs.isGood();
		}
		
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};
	
	/**
	 *
 	 * 
	 *
 	 * @date 2013-10-21 16:20:34
 	 * @version 0
	 */	
	struct CGisMapGatewayAoGetSosoCoordinatesResp : public IServiceObject, public ISerializableXML
	{
		uint32_t dwResult;
		std::vector<erp::gis::po::CCoordinatesPo > coordinatesPo;
		std::string errMsg;
		std::string outReserve;
		
	    virtual uint32_t getCmdId() const { return GISMAPGATEWAYAO_GETSOSOCOORDINATES_RESP_CMD_ID; }
		virtual bool Serialize(CByteStreamNetwork& bs)
		{
		    bs & dwResult;
			bs & coordinatesPo;
			bs & errMsg;
			bs & outReserve;

		    return bs.isGood();
		}
	    virtual void Dump(std::ostream& os)	{}
	
		virtual bool FromXML(const std::string& sXMLContent) { return true; }
		virtual bool ToXML(std::string& sXMLContent) { return true; }
	};	

}
}
}

#endif /* GISMAPGATEWAYAO_STRUCT_H */

